Remote computing systems can enable users to remotely access hosted resources. Servers on the remote computing systems can execute programs and transmit signals indicative of a user interface to clients that can connect by sending signals over a network conforming to a communication protocol such as the TCP/IP protocol. Each connecting client may be provided a remote presentation session, i.e., an execution environment that includes a set of resources. Each client can transmit signals indicative of user input to the server and the server can apply the user input to the appropriate session. The clients may use remote presentation protocols such as the Remote Desktop Protocol (RDP) to connect to a server resource.
In remote desktop scenarios the graphics content of a user's desktop located on a host computer (e.g., the server) is typically streamed to another computer (e.g., the client). Typically client screens are captured as frames which are then passed to a remote presentation process for encoding and transmitting the bitmap data to produce a remote presentation network stream comprising bitmap data.